Distributed networks of computers are widely known and used. These distributed networks distribute tasks, resources, and processing power among several servers. These servers interface with each other to accomplish tasks and perform transactions. Each server may handle different function such as management, data base maintenance, server shut down, server startup, and so forth. A server or managed server as used herein is intended to include computers, computer objects, applications, servers, or server instances.
As servers within a distributed network interact and perform transactions with each other, their operability and reliability become more important. If a server is inoperable or degenerate, it may effect the efficiency of the entire distributed network. A single degenerate server may waste time, money, and other server resources that are tied up in transactions with the degenerate server. For these reasons, minimizing server failure or server degeneration is desirable. Though a network may determine when a server has failed, the determination is a response to the server failure and often too late to prevent other resources from being affected. Further, valuable processing resources are often used up on monitoring servers and not on other important tasks.
What is needed is a system for server self-health monitoring that allows servers to determine their health status. The system should provide a method that efficiently monitors the health of a server while minimizing the strain on server processing resources.